SPSS+AMOS数据分析案例教程-关于中介模
SPSS视频教程内容目录和跳转链接
Mplus中介和调节教程
大学生问卷互填群
Meta分析辅导+代找数据
SPSS+AMOS数据分析案例教程-关于中介模
SPSS视频教程内容目录和跳转链接
R语言快速入门视频教程
LCA潜在类别分析和Mplus应用
Amos结构方程模型数据分析入门教程
倒U关系回归分析中介效应和调节效应分析SPSS视频教程
统计咨询(图文问答)

Excel2013:[59]匹配不同工作表记录

如何匹配不同工作表中的记录?假如有多个工作表,第一个工作表作为基本表,用于和其他几个表匹配记录,假如一条记录同时出现在了基本表和其他表中,我们就在基本表中标识出来。怎么实现这个过程?

  • 首先将Excel文件存为可以执行vba的格式,xlsm格式
  • 我们利用SN号作为一条记录是否重复的指标,假如两条记录SN号相同,则认为两条记录匹配
  • 打开开发工具下的visual basic,或者可以按下快捷键alt+F11
  • 打开vb界面,我们双击 thisworkbook,大概一个代码界面
  • 复制以下代码到代码界面
  • 将鼠标光标移动到代码的任意位置,按下快捷键F5即可执行代码,执行结果可见:在第一个工作表的最后一列标志出了某条记录出现在哪一个工作表中,如果所有工作表都没有匹配,则输出无匹配。
  • 注意基本工作表总是位于最前面。也是Excel认为的第一个工作表,代码总是用第一个表中的数据与其他表中的数据去匹配,匹配成功则输出工作表的名称。
  • 本教程用到的代码:复制可用。

  • Sub pipei()

  • Set d = CreateObject("scripting.dictionary")
    
  • For i = 2 To Worksheets.Count
    
  •     For j = 1 To Sheets(i).Cells(1, 300).End(xlToLeft).Column
    
  •         If Sheets(i).Cells(1, j).Text = "SN号" Then
    
  •             For r = 2 To Sheets(i).Cells(65536, j).End(xlUp).Row
    
  •                 If Not (Sheets(i).Cells(r, j).Value = 0 Or Sheets(i).Cells(r, j).Text = "") Then
    
  •                     d.Add Sheets(i).Cells(r, j).Text, Sheets(i).Name
    
  •                 End If
    
  •             Next r
    
  •         End If
    
  •     Next j
    
  • Next i
    
  • Sheets(1).Activate
    
  • max_col = Cells(1, 300).End(xlToLeft).Column
    
  • For c = 1 To max_col
    
  •     If Cells(1, c).Text = "SN号" Then
    
  •         For r = 2 To Cells(65536, c).End(xlUp).Row
    
  •             If d.exists(Cells(r, c).Text) Then
    
  •                 Cells(r, max_col + 1) = d.Item(Cells(r, c).Text)
    
  •             Else
    
  •                 Cells(r, max_col + 1) = "无匹配"
    
  •             End If
    
  •         Next r
    
  •     End If
    
  • Next c
    
  • MsgBox "ok"
    
  • End Sub

转载请注明来自DataScience.

邮箱: 675495787@qq.com

SPSS实例:[28]卡方检验百分比与理论值差异

我们有一个研究检验某种疗法的有效性,统计了实施前后的人数,我们想要比较实施前和实施后人数是否有差异,怎么比较?有两种数据结构,得使用不同的方法,下面将要介绍的是这种数据没有原始数据,只有计数数据,如下图。变量9表示人数,实施前后表示该方法实施前用0表示,实施后用1表示。另外一种数据结构是你有原始数据,而不是计数数据,你可以参考我以前的文章:http://jingyan.baidu.com/article/d8072ac4587f6dec95cefd9a.html

  • 首先要给数据加权,我们在data菜单下,选择case加权
  • 将变量9放入频数变量框,点击【ok】,完成加权(如果有原始数据,则不需要加权)
  • 接着我们来做卡方检验,在菜单栏上执行:分析–非参检验–遗留选项–卡方检验
  • 将实施前后变量放入检验变量框。
  • 这里有一个问题,如果你的数据有一个单元格频数小于5,你得使用精确卡方检验,需要点击【exact】进行设置
  • 勾选这个选项,点击继续
  • 接着设置这里,我们可以检验不同组人数是否相同,使用【所有分类相同】;
  • 也可以自己设定频数,比如我设定为2和6,当然今天我们只讲上面的【所有分类相同】的情况。
  • 这里就是检验结果了,sig值大于0.05,结果不显著,说明两组之间没有差异。
  • 如果你用的是精确检验就会看大有一个精确sig值

转载请注明来自DataScience.

邮箱: 675495787@qq.com

python 线性代数:[12]求协方差矩阵

先搞懂协方差矩阵是什么东西:这篇文章有助于你的理解:
搞懂协方差以后,我们以一个通俗易懂的例子来说明怎样在python中求协方差矩阵,已经求它是为了干嘛。

  • 假如我们现在想要知道身高和体重的关系,我们测量了三个人的身高和体重,身高用s表示,体重用t表示:
  • 两个向量构成一个向量组:y
  • 使用numpy.cov方法来求协方差矩阵:
  • 怎样读懂协方差矩阵呢?400是s和s的协方差(也就是方差);右上角200是s与t的协方差;100是t与t的协方差(也就是方差);可见协方差矩阵是一个对称阵
  • 假如我们再增加一个变量,我们还知道这些人的性别,于是性别就是:
  • 结果也是这样的:
  • 这是今天用到的所有代码:

  • import numpy

  • s=[100,120,140]

  • t=[50,60,70]

  • y=s+t

  • y

  • [100, 120, 140, 50, 60, 70]

  • y=[s,t]

  • y

  • [[100, 120, 140], [50, 60, 70]]

  • a=numpy.cov(y)

  • a

  • array([[ 400., 200.],

  •    [ 200.,  100.]])
    
  • x=[1,0,1]

  • y=[s,t,x]

  • a=numpy.cov(y)

  • a

  • array([[ 4.00000000e+02, 2.00000000e+02, 0.00000000e+00],

  •    [  2.00000000e+02,   1.00000000e+02,   0.00000000e+00],
    
  •    [  0.00000000e+00,   0.00000000e+00,   3.33333333e-01]])
    

转载请注明来自DataScience.

邮箱: 675495787@qq.com

wxpython教程:[1]入门

我们今天来学习Python的一个界面开发包wxpython,我最近要做一些Python统计分析的软件界面,所以用到了wxpython,很久以前用过这个包,现在跟大家一起回顾一下。这篇文章是入门,讲的比较简单,以后逐渐增加新的知识。
工具/原料

方法/步骤

  • 先来看一下如下代码,这是一个简单的界面,我们接下来逐句解释
  • 首先是两行注释,用#号打头表示注释,不执行。而coding表示编码方式,开始透明coding表示该文件使用utf8编码,因为Python文件中有中文,必须声明一个支持中文的编码
  • 接下来实例化一个app,任何一个应用程序都是一个app
  • 这两句表示创建了一个Frame,Frame就是框架,是一个容器,内部可以包含多个容器或者其他组件,如果我们的Frame的第一个参数使用None表示它是顶层的容器,它包含了应用程序的所有组件。‘入门’表示Frame的标题,一会你就看到标题在哪里。最后,任何Frame窗口想要显示,必须用show(),但是你现在还看不到窗口,因为程序没有运行呢

  • frame=wx.Frame(None,-1,u’入门’)

  • frame.Show()

  • 实际上,我们是用app.mainLoop来启动程序的
  • 这样我们就看到了一个最简单的界面了。

转载请注明来自DataScience.

邮箱: 675495787@qq.com

Django教程:[7]网站根目录的设置

现在我们开启开发服务器,然后访问一下网站根目录,也就是127.0.0.1:8000,你会发现出现了404错误提示,这是因为Django依赖于指定给该路径的模式来返回内容,现在我们并没有给改路径指定返回的内容,我们怎么设置呢?

  • 打开你的站点所在文件夹,找到view.py,使用IDLE进行编辑;根据我前面的文章可以知道,view.py是我自己创建的,不是startproject的时候自动创建的,所以你可能创建了不同名称的文件。
  • 在该文件中添加一个函数homepage,它只返回一句话“这是首页”
  • 接着哦我们打开urls.py
  • 添加两句话,第一句引用homepage(刚才添加的函数);第二句将hongpage与url模式相连接
  • 这样,我们再访问网站根目录的时候就会得到网站首页

转载请注明来自DataScience.

邮箱: 675495787@qq.com

Python统计分析:[8]单因素卡方检验

卡方检验主要用于检验计数数据是否符合某种分布,比如男女比率本应该是1:1,但实际采集的样本可能是1:2,那么1:1和1:2之间有没有差异,我们需要用卡方检验来比较。

  • 先引入相关模块
  • 实例化ChiSqure1way对象
  • 运行卡方检验,如果我们只输入一个参数,表示我们要检验这一列数据分布是否均匀,也就是各组频数是否相等
  • 基本检验结果首先是数据的描述
  • 接着是卡方检验结果,根据p值可知两组差异不显著
  • 统计量检验
  • 假如我们输入两个参数,可以指定各组频数的期望值
  • 结果是这样的:
  • 对于结果,我们可以使用字典的方式读取个别值,比如卡方:
  • 对于其他值,我们可以参考下面的列表:

转载请注明来自DataScience.

邮箱: 675495787@qq.com

Python教程:[2]pythonwin安装与下载

很多人并不习惯在dos窗口中编辑python,包括我,我还是习惯在一些比较成熟的开发环境中编辑python,所以我们需要配置一个Pythonwin作为windows下的开发环境,当然你是用Linux就不关我的事情了,我不懂Linux,只能再windows下面来做,下面是安装的过程,在最下面的参考资料有提供Pythonwin的下载链接。因为我安装的python版本号是3.2,所以要下载对应版本的Pythonwin,下面我们先来看看如何知道自己python的版本号。

  • 打开windows的运行窗口,输入cmd,点击确定,打开命令窗口
  • 在命令窗口中输入python,你就会看到python的版本号,如图所示
  • 如果你的python版本为3.2,你可以直接从下面的参考资料里下载pythonwin;如果你的版本不对,你可以看下面参考资料里第二个链接,可以让你找到所有版本的下载,打开这个界面以后,你会看到这个列表,版本号就在红色方框里。
  • 安装就非常简单了,下载下来以后,我们双击打开,你会看到软件自己读取了python的安装目录,你什么都不用做,点击下一步。
  • 接着点击下一步开始安装,等待一分钟就能安装完毕。
  • 安装完成以后,在开始菜单中就能找到Pythonwin,打开它
  • 这就是pythonwin的界面了,在这个界面你可以编辑python语句。

转载请注明来自DataScience.

邮箱: 675495787@qq.com

pandas教程:[3]DataFrame切片操作

DataFrame数据框允许我们使用iloc方法来像操作array(数组)一样对DataFrame进行切片操作,其形式上,跟对数组进行切片是一样的,我们下面来演示一下一些典型的切片操作:

  • 先创建一个6行4列的DataFrame数据框
  • 使用iloc方法,提取第四行数据:
  • 我们可以看一下,这种方法得到的返回值是一个series数据
  • 返回4-5行,1-2列数据,用下面的写法,你可以看到跟array的切片操作是一模一样的额
  • 我们也可以提取不连续行和列的数
  • 想要提取某一样或者某几行的数据,保证所有列都在,可以使用一个冒号来表示所有列
  • 当然,所有行,也可以用冒号来表示
  • 提取某一个值,去掉所有冒号,比如取第2行第2列的这个数
  • 当然,iat是专门提取某个数的方法,它的效率高更高,因此建议在提取单个数的时候用iat

转载请注明来自DataScience.

邮箱: 675495787@qq.com

spss协方差分析的操作过程和结果分析方法

协方差分析就是当研究中出现一个变量不是我们想要研究的变量,但是却会影响到我们的研究结果,我们不得不对其进行控制,这时候就可以用协方差分析的方法来控制,协方差分析一个最重要的假设是斜率同质假设,下面就要先检验斜率同质假设,然后才能进行协方差分析。
方法/步骤

  • 协方差分析之前,要先检验一下数据是否满足斜率同质假设,也就是检验自变量和斜变量之间有木有交互作用,如图所示,在菜单栏上执行:analyze–general linear model–univariate
  • 在打开的对话框中,将因变量、自变量、斜变量都放到各自的位置,如图所示,评定得分为因变量,培训方式为自变量,家庭指数为斜变量,点击options按钮,进入子对话框
  • 在这里将培训方式,也就是自变量移动到display means for中,并且勾选描述统计和方差齐性检验,点击continue按钮继续
  • 点击model按钮,选择模型
  • 刚打开这个对话框的时候,默认是full factorial模式,但是我们要检验交互作用,所以要选中custom
  • 将培训方式和家庭指数都放到model里
  • 同时选中培训方式和家庭指数,将type设置为interaction,点击添加按钮,添加到model中,点击continue按钮
  • 点击ok按钮,开始处理数据
  • 在出来的结果中,我们主要是看自变量和斜变量的交互作用,如图所示,sig值大于0.05,所以交互作用不显著,这就满足了斜率同质性假设
  • 接着我们来进行协方差分析,在菜单栏上执行:analyse–general linear model–univariate
  • 将各个变量都放到各自的位置,和上面的步骤一样,点击options按钮
  • 将培训方式移动到display means for列表里,勾选描述统计、方差齐性、效应值,点击continue继续
  • 点击model,选择模型
  • 选择full factorial,点击continue
  • 点击ok按钮,开始处理数据
  • 最后看分析的结果培训方式的效应显著,这说明不同的培训方式会影响到学生最后的分数

转载请注明来自DataScience.

邮箱: 675495787@qq.com

spss20.0如何进行反向计分

在心理学中经常使用反向计分的问卷,这种问卷获得数据在处理以前,要先进行重新编码。重新编码的目的就是要将反向计分的数据转换成正向计分,下面图是我分享的一个案例,他可以帮助你更好的理解什么是反向计分。
方法/步骤

  • 我们导入要转换的数据,在菜单栏上执行transform–recode into same variables,这个操作的意思你懂啦,就是将原有的数据转换,但是并不生成新的变量,而是替换掉原有的变量
  • 打开了如图所示的对话框,我们将要转换的变量选中,然后点击添加按钮
  • 接着要设置转换的方法 ,点击old and new values
  • 打开如图所示的对话框,我们在value这里填写1,在new value这里写5,意思是将1分转换为5分,然后点击add按钮
  • 同样的方法,我们将其他的数据转换方法都添加到这个列表里,然后点击继续按钮
  • 返回到了选择变量的对话框,点击ok按钮开始进行数据的转换。到此,反向计分就完成了。下面是介绍如何在反向计分的时候保留原始数据,生成新的变量。
  • 如何在反向计分的时候保留原始数据,生成新的变量,在导入数据以后,我们在菜单栏上执行:transform–recode into different variables

  • 打开如图所示的对话框,我们选择要转换的数据,然后点击添加按钮
  • 从中间的列表里选择一个变量,然后在右侧的name栏中输入新的变量的名字,然后点击change按钮
  • 同样的方法给所有的变量重新命名以后,点击old and new values,添加转换数据的规则
  • 和上面使用的方法一样的,我们左侧填写原始数据的值,有的填写转换成的值,然后点击add按钮
  • 将所有的转换规则都添加进去以后,我们点击continue按钮,好了数据转换完成。

转载请注明来自DataScience.

邮箱: 675495787@qq.com